package com.cloudfun.campusshare.service;

import com.cloudfun.campusshare.common.model.dto.ReplenishDTO;
import com.cloudfun.campusshare.common.model.vo.ReplenishLogVO;
import com.cloudfun.campusshare.common.model.vo.ReplenishSettingVO;
import com.cloudfun.campusshare.common.model.vo.ReplenishVO;
import com.cloudfun.campusshare.common.response.BaseResult;
import com.cloudfun.campusshare.entity.Replenish;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * @author wangxiyuan
 * @description 补货模块service
 * @createDate 2021/5/18 18:59
 **/
public interface ReplenishService {
    /** 根据imei查询设备补货详情*/
    Replenish  findByImei(String imei);
    /**
     * 查询补货列表
     * @param replenishVO
     * @return
     */
    BaseResult list(ReplenishVO replenishVO);

    /**
     * 更新库存
     * @param liquidType 加液类型
     * @param size 加液量 单位克
     * @return
     */
    BaseResult updateStock(String imei,Integer liquidType,Integer size);

    /**
     * 查询补货日志列表
     * @param replenishVO
     * @return
     */
    BaseResult logList(ReplenishLogVO replenishVO);

    /**
     * 补货日志列表导出
     * @param replenishVO
     * @return
     */
    BaseResult logExport(ReplenishLogVO replenishVO, HttpServletResponse response);

    /**
     * 更新库存容量
     * @param imei
     * @param capacities
     */
    void updateStockCapacity(String imei, List<Integer> capacities);

    /**
     * 设备上线 添加进补货清单里
     * @param deviceType 设备类型
     * @param imei 设备识别码
     */
    void onlineUpdate(String deviceType, String imei);

    BaseResult statusCount(String deviceType,Integer replenishStatus);

    /**
     * 根据imei清除补货清单数据
     * @param imei
     */
    void deleteReplenish(String imei);

    ReplenishDTO getReplenishInfo(String imei);

    void updateReplenish(Replenish replenish);

    BaseResult setting(ReplenishSettingVO settingVO);

    BaseResult settingPage(String washPointId);
}
